\documentclass[11pt,fancyhdr]{ctexart}
\usepackage{graphicx} 
\usepackage{float}
\usepackage{geometry}
\usepackage{xcolor}
\usepackage{fancyhdr}
\usepackage{minted}
\usepackage{tcolorbox}
\usepackage{pifont}
\usepackage[colorlinks,linkcolor=blue,bookmarksnumbered=true]{hyperref}
\usepackage{bookmark}
\renewcommand{\headrulewidth}{0.2pt}
\renewcommand{\headwidth}{\textwidth}
\renewcommand{\footrulewidth}{0pt}
\geometry{left=2cm,right=2cm,top=3cm,bottom=2cm}
\pagestyle{fancy}
\lhead{\author}
\chead{\date}
\rhead{op}
\lfoot{}
\cfoot{\thepage}
\rfoot{}
\title{现代C++题目}


\author{\href{https://github.com/Mq-b/Loser-HomeWork}{卢瑟帝国}\\}

\date{\today}

\input{tex/utility.tex}

\begin{document}
\maketitle

\tableofcontents
\newpage

暂时只有 16 道题目，并无特别难度，有疑问可看\href{https://www.bilibili.com/video/BV1Zj411r7eP/}{视频教程}或答案解析。

% 后面写只需要按照下面这两行的形式就行了，一个 section 标题，一个 input 题目

\section{实现管道运算符}
\input{tex/question01.tex}

\section{实现自定义字面量 \_f}
\input{tex/question02.tex}
\section{实现 print 以及特化 std::formatter}

\input{tex/question03.tex}

\section{给定类模板修改，让其对每一个不同类型实例化有不同 ID}
\input{tex/question04.tex}

\section{实现 scope\_guard 类型}
\input{tex/question05.tex}

\section{解释 std::atomic 初始化}
\input{tex/question06.tex}

\section{throw new MyException}
\input{tex/question07.tex}

\section{定义 array 推导指引}
\input{tex/question08.tex}

\section{名字查找的问题}
\input{tex/question09.tex}

\section{遍历任意聚合类数据成员}
\input{tex/question10.tex}

\section{emplace\_back() 的问题}
\input{tex/question11.tex}

\section{实现make\_vector()}
\input{tex/question12.tex}

\section{关于 return std::move(expr)}
\input{tex/question13.tex}

\section{以特殊方法修改命名空间中声明的对象}
\input{tex/question14.tex}

\section{表达式模板}
\input{tex/question15.tex}

\section{制造传递函数模板的宏}
\input{tex/question16.tex}

\end{document}
